public class Solution718 {
    public int findLength(int[] nums1, int[] nums2) {
        int ans=0;
        int[][] f=new int[nums1.length+1][nums2.length+1];
        for (int i=1;i<=nums1.length;i++){
            for (int j=1;j<=nums2.length;j++){
                if (nums1[i-1]==nums2[j-1]){
                    f[i][j]=f[i-1][j-1]+1;
                    ans=Math.max(ans,f[i][j]);
                }else {
                    f[i][j]=0;
                }
            }
        }
        return ans;
    }

    public static void main(String[] args) {
        System.out.println(new Solution718().findLength(new int[]{0,1,1,1,1},new int[]{1,0,1,0,1}));
    }
}
